/**
 * 删除console语句
 */
const parser = require('@babel/parser'); // 可以把js源码转成AST语法树
const traverse = require('@babel/traverse').default; // 可以递归遍历ast节点
const generator = require('@babel/generator').default; // 把修改好的ast语法树转成字符串源码
const types = require('@babel/types'); // 操作节点的增删改

module.exports = function(source) {
  const ast = parser.parse(source, {sourceType: 'module'});
  // console.log(ast);
  traverse(ast, {
    CallExpression(path) {
      if (types.isMemberExpression(path.node.callee) && types.isIdentifier(path.node.callee.object, {name: 'console'})) {
        path.remove()
      }  
    }
  });
  const output = generator(ast, {}, source);
  return output.code
}